logic laws discrete math